package com.yeqian.service;

import com.yeqian.entity.PageResult;
import com.yeqian.entity.QueryPageBean;
import com.yeqian.pojo.Tag;

import java.util.List;
import java.util.Map;

/**
 * @Author : yeqian
 * @Date : 2020/12/31 19:34
 * <p>
 * 标签服务类接口
 */
public interface TagService {

    /**
     * 查询标签总数量
     *
     * @param
     * @return java.lang.Integer
     * @author yeqian
     * @date 2021/1/16 11:33
     */
    Integer getTagCount();

    /**
     * 获取标签的封面图片
     *
     * @param
     * @return java.util.List<java.lang.String>
     * @author yeqian
     * @date 2021/1/10 14:56
     */
    List<String> getUrl();

    /**
     * 查询所有标签
     *
     * @param
     * @return java.util.List<com.yeqian.pojo.Tag>
     * @author yeqian
     * @date 2021/1/1 21:29
     */
    List<String> listAll();

    /**
     * 删除标签
     *
     * @param tagId
     * @return void
     * @author yeqian
     * @date 2021/1/1 17:02
     */
    void deleteTag(Integer tagId);

    /**
     * 编辑标签
     *
     * @param tag
     * @return void
     * @author yeqian
     * @date 2021/1/1 16:45
     */
    void updateTag(Tag tag);

    /**
     * 根据主键查询标签
     *
     * @param tagId
     * @return com.yeqian.pojo.Tag
     * @author yeqian
     * @date 2021/1/1 15:27
     */
    Tag getTag(Integer tagId);

    /**
     * 新增标签
     *
     * @param tag
     * @return void
     * @author yeqian
     * @date 2021/1/1 11:16
     */
    void saveTag(Tag tag);

    /**
     * 标签分页查询
     *
     * @param queryPageBean
     * @return com.yeqian.entity.PageResult
     * @author yeqian
     * @date 2020/12/31 23:17
     */
    PageResult listQueryPage(QueryPageBean queryPageBean);

    /**
     * 查询各个套餐的比例
     *
     * @param
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author yeqian
     * @date 2021/1/16 18:08
     */
    List<Map<String, Object>> getReport();
}
